Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
СІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування
Група:
ІТП

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національний університет “Львівська політехніка” Звіт до лабораторноі работи № 2 Реалізація абстракцій в мові програмування С++. Львів 2010 1. МЕТА РОБОТИ Мета роботи - Реалізація абстракцій в мові програмування С++. 2. ТЕОРЕТИЧНА ЧАСТИНА 1. Компоненти об’єктно-орієнтовааного проектування. Розрізняють чисто об’єктно-орієнтовані мови та змішані. До перших належать Smalltalk, Ada, Simula, до других С++, CLOS, Об’єктний Паскаль та інші. Введемо визначення п’яти ключових компонент об’єктно-орієнтованого проектування: - Об’єкт Об’єкт - це інкапсульована абстракція, яка включає інформацію про стан і чітко визначену множину протоколу доступу (повідомлення, які опрацьовує об’єкт). - Повідомлення Повідомлення - це спеціальний символ, ідентифікатор або ключове слово з або без параметрів, яке представляє дію. - Клас Представляє певний тип об’єктів і задається прои допомозі опису класу, який визначає змінні стану і протокол доступа до об’єктів даного класу. Класи організуються ієрархічно, причому підкласи наслідують властивості базових класів. В деяких об’ктно-орієнтованих мовах класи - це також і об’єкти. - Екземпляр об’єкта Об’єкти належать до будь-якого класу. Властивості екземпляра об’єкта визначаються описом класу. - Метод Метод існує для кожного повідомлення, визначеного для деякого класу. Метод визначає реакцію об’єкта на повідомлення. Як правило складається з ряду виразів і може використовувати протокол з іншого класу. 2. Опис абстракцій в мові С++. Мова С++ використовує подібну термінологію Клас Вводить новий тип даних Об’єкт Змінна типу className Дані стану Об’являються в опису класу і називаються членами Повідомлення Повідомлення, які об’єкт може опрацювати, вказуються при допомозі прототипів функцій в описі класу. Прототипи функцій включають ім’я функції, список параметрів та тип, який повертає функція. Метод Це визначення (реалізіція) функцій. Прототипи функцій і їх визначення разом представляють собою повідомлення, які об’єкт може опрацьовувати. В сукупності вони називаються функціями-членами. До членів класу відносяться функції-члени і поля даних. Підклас Похідний клас. Його суперклас називається базовим класом. 3. ЛАБОРАТОРНЕ ЗАВДАННЯ Варіант № 20 Скласти програму на С++, яка представляє стандартний тип як об’єкт і дозволяє порівнювати дані між собою, проводити операції, що допускаються над даним типом integer і вивести на екран ці дані. Текст програми #include "stdafx.h" #include<iostream> #include<stdlib.h> using namespace std; class INTEGER { private: int value; public: // Конструктори і деструктори INTEGER() {} INTEGER(int anlnt) { value = anlnt; } ~INTEGER() {} //Mетоди доступа int getValue() { return value; } void setVlue(int aValue) { value = aValue; } // Методи порівняння friend int operator==(const INTEGER& anlnt1, const INTEGER& anlnt2) { return anlnt1.value == anlnt2.value; } friend int operator>(const INTEGER& anlnt1, const INTEGER& anlnt2) { return anlnt1.value > anlnt2.value; } friend int operator<(const INTEGER& anlnt1, const INTEGER& anlnt2) { return anlnt1.value < anlnt2.value; } //Арифметичні методи friend INTEGER operator+(const INTEGER& anlnt1, const INTEGER& anlnt2) { return INTEGER(anlnt1.value + anlnt2.value); } friend INTEGER operator-(const INTEGER& anlnt1, const INTEGER& anlnt2) { return(anlnt1.value - anlnt2.value); } friend int operator*(const INTEGER& anlnt1, const INTEGER& anlnt2) { return(anlnt1.value * anlnt2.value); } friend INTEGER operator/(const INTEGER& anlnt1, const INTEGER& anlnt2) { if(anlnt2.value == 0) { cout << "Divide by zero.Stop"; exit(1); } return(anlnt1.value / anlnt2.value); } //Методи друку friend ostream& operator<<(ostream& stream, const INTEGER& anlnt) { stream << anlnt.value; return stream; } }; void main() { INTEGER one,two,three,four, varOne; char choice; int a,b; bool fQuit=false;...
Антиботан аватар за замовчуванням

20.07.2020 12:07

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини